Added gtk_menu_set_title() to set the title of a menu in the torn-off
authorOwen Taylor <otaylor@redhat.com>
Mon, 18 Jan 1999 18:48:09 +0000 (18:48 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 18 Jan 1999 18:48:09 +0000 (18:48 +0000)
Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>

* gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
set the title of a menu in the torn-off state.

* gtk/gtkthemes.c (gtk_theme_engine_get): When loading
of theme engine fails, just warn and do without -
don't error out.

* gtk/gtkmain.c (gtk_check_version): s/to/too/.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmain.c
gtk/gtkmenu.c
gtk/gtkmenu.h
gtk/gtkthemes.c

index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 46bf692932cd9164b477698b324f45d26797b34f..9e99c528695173bc4f76fcca60d56b241aa2cd5c 100644 (file)
@@ -1,3 +1,14 @@
+Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
+       set the title of a menu in the torn-off state.
+
+       * gtk/gtkthemes.c (gtk_theme_engine_get): When loading
+       of theme engine fails, just warn and do without -
+       don't error out.
+
+       * gtk/gtkmain.c (gtk_check_version): s/to/too/.
+
 Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>
 
        * gtk/gtkctree.c (draw_row): fixed auto resize bug.
index 4ae4a3b52ae96c87d48e1d172d161829124a356e..f573c9db1124c89cf4c2b2aa7a01cb1dceed9b1a 100644 (file)
@@ -149,17 +149,17 @@ gtk_check_version (guint required_major,
                   guint required_micro)
 {
   if (required_major > GTK_MAJOR_VERSION)
-    return "Gtk+ version to old (major mismatch)";
+    return "Gtk+ version too old (major mismatch)";
   if (required_major < GTK_MAJOR_VERSION)
-    return "Gtk+ version to new (major mismatch)";
+    return "Gtk+ version too new (major mismatch)";
   if (required_minor > GTK_MINOR_VERSION)
-    return "Gtk+ version to old (minor mismatch)";
+    return "Gtk+ version too old (minor mismatch)";
   if (required_minor < GTK_MINOR_VERSION)
-    return "Gtk+ version to new (minor mismatch)";
+    return "Gtk+ version too new (minor mismatch)";
   if (required_micro < GTK_MICRO_VERSION - GTK_BINARY_AGE)
-    return "Gtk+ version to new (micro mismatch)";
+    return "Gtk+ version too new (micro mismatch)";
   if (required_micro > GTK_MICRO_VERSION)
-    return "Gtk+ version to old (micro mismatch)";
+    return "Gtk+ version too old (micro mismatch)";
   return NULL;
 }
 
index d3fcb3c715fabd1fb3367352f0d364604b71ce1c..14c01f3cc5acbdced3882feff7e47397793daaf8 100644 (file)
@@ -602,6 +602,7 @@ gtk_menu_set_tearoff_state (GtkMenu  *menu,
          if (!menu->tearoff_window)
            {
              GtkWidget *attach_widget;
+             gchar *title;
              
              menu->tearoff_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
              gtk_widget_set_app_paintable (menu->tearoff_window, TRUE);
@@ -611,18 +612,21 @@ gtk_menu_set_tearoff_state (GtkMenu  *menu,
                                         GTK_OBJECT (menu));
              gtk_widget_realize (menu->tearoff_window);
              
-             attach_widget = gtk_menu_get_attach_widget (menu);
-             if (GTK_IS_MENU_ITEM (attach_widget))
+             title = gtk_object_get_data (GTK_OBJECT (menu), "gtk-menu-title");
+             if (!title)
                {
-                 GtkWidget *child = GTK_BIN (attach_widget)->child;
-                 if (GTK_IS_LABEL (child))
+                 attach_widget = gtk_menu_get_attach_widget (menu);
+                 if (GTK_IS_MENU_ITEM (attach_widget))
                    {
-                     gchar *ret;
-                     gtk_label_get (GTK_LABEL (child), &ret);
-                     gdk_window_set_title (menu->tearoff_window->window, ret);
+                     GtkWidget *child = GTK_BIN (attach_widget)->child;
+                     if (GTK_IS_LABEL (child))
+                       gtk_label_get (GTK_LABEL (child), &title);
                    }
                }
 
+             if (title)
+               gdk_window_set_title (menu->tearoff_window->window, title);
+
              gdk_window_set_decorations (menu->tearoff_window->window, 
                                          GDK_DECOR_ALL |
                                          GDK_DECOR_RESIZEH |
@@ -646,6 +650,17 @@ gtk_menu_set_tearoff_state (GtkMenu  *menu,
     }
 }
 
+void       
+gtk_menu_set_title (GtkMenu     *menu,
+                   const gchar *title)
+{
+  g_return_if_fail (menu != NULL);
+  g_return_if_fail (GTK_IS_MENU (menu));
+
+  gtk_object_set_data_full (GTK_OBJECT (menu), "gtk-menu-title",
+                           g_strdup (title), (GtkDestroyNotify) g_free);
+}
+
 static void
 gtk_menu_realize (GtkWidget *widget)
 {
index 5b046403ec12109de0a7466bd0c91533ed1ecdb6..ecf3cebd1da0583b1c75ecaf543f13632d63500d 100644 (file)
@@ -128,8 +128,14 @@ void          gtk_menu_detach                (GtkMenu             *menu);
 GtkWidget* gtk_menu_get_attach_widget    (GtkMenu             *menu);
 
 void      gtk_menu_detach                (GtkMenu             *menu);
-void       gtk_menu_set_tearoff_state    (GtkMenu              *menu,
-                                         gboolean              torn_off);
+void       gtk_menu_set_tearoff_state     (GtkMenu             *menu,
+                                          gboolean             torn_off);
+
+/* This sets the window manager title for the window that
+ * appears when a menu is torn off
+ */
+void       gtk_menu_set_title             (GtkMenu             *menu,
+                                          const gchar         *title);
 
 #ifdef __cplusplus
 }
index 8da2ce6fd512016f2138ce90f6648b1d773a4f7e..1410149a4f375ebe642974225a2dbd9c124c3b30 100644 (file)
@@ -81,7 +81,10 @@ gtk_theme_engine_get (gchar *name)
        library = g_module_open (engine_path, 0);
        g_free(engine_path);
        if (!library)
-        g_error(g_module_error());
+        {
+          g_warning (g_module_error());
+          return NULL;
+        }
        else
         {
            result = g_new (GtkThemeEnginePrivate, 1);
@@ -96,7 +99,7 @@ gtk_theme_engine_get (gchar *name)
                !g_module_symbol (library, "theme_exit", 
                                  (gpointer *)&result->exit))
              {
-               g_error (g_module_error());
+               g_warning (g_module_error());
                g_free (result);
                return NULL;
              }